//非递归版本二叉搜索树
#pragma once 
#include<iostream>
#include<vector>
using namespace std;

template<class K,class V>
struct BSTNode
{
  BSTNode<K,V>* left;
  BSTNode<K,V>* right;
  pair<K,V> kv;
};

template<class K,class V>
class BSTree
{
public:
  typedef BSTree<K,V> Node;
  BSTree()
    :root(nullptr)
  {}
  ~BSTree()
  {}

  Node* find(const K& key)
  {
    return nullptr;
  }
  bool insert(const pair<K,V>& val)
  {
    return true;
  }
  bool erase(const K& key)
  {
    return true;
  }

private:
  Node* root;
};
